下面摘自百度百科:
1定义
2基本思路
设最大化的整数规划问题为A, 相应的不含整数约束的线性规划为B, 若B 的最优解不符合A 的整数条件, 那么B 的最优目标函数值必为A 的最优目标函数值Z* 的一个上界, 记作Z; 而A 的任意可行解的目标函数值将是Z* 的一个下界, 记作Z。对B 的非整数解的相邻整数作附加条件, 从而形成两个分枝, 即两个子问题, 两个子问题的可行域中包含原整数规划问题的所有可行解。不断分枝, 逐步减小Z, 增大Z, 最终求得Z* 。
3算法步骤
第2步:将放宽了某些约束条件的替代问题分成若干子问题,要求各子问题的解集合的并集要包含原问题的所有
可行解
,然后对每个子问题求
最优解
。这些子问题的
最优解
中的最优者若是原问题的
可行解
,则它就是原问题的
最优解
,计算结束。否则它的目标函数值就是原问题的一个新的上界。另外,各子问题的最优解中,若有原问题的
可行解
的,选这些可行解的最大目标函数值,它就是原问题的最优解的一个下界。
第4步:在保留下的所有子问题中,选出
最优解
的
目标函数
值最大的一个,重复第1步和第2步。如果已经找到该子问题的最优
可行解
,那么其目标函数值与前面保留的其他问题在内的所有子问题的可行解中目标函数值最大者,将它作为新的下界,重复第3步,直到求出最优解。
还有一篇博客文章,写的很好,感谢原创作者
http://dec3.jlu.edu.cn/webcourse/t000048/yun/ch4_02.htm